home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 1998 November / IRIX 6.5.2 Base Documentation November 1998.img / usr / share / catman / u_man / cat1 / chmod.z / chmod
Text File  |  1998-10-20  |  11KB  |  265 lines

  1.  
  2.  
  3.  
  4. cccchhhhmmmmoooodddd((((1111))))                                                              cccchhhhmmmmoooodddd((((1111))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      chmod - change the permissions mode of a file or directory
  10.  
  11. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.      cccchhhhmmmmoooodddd [-R] mode file ...
  13.      cccchhhhmmmmoooodddd [-R] [ugoa]{+|-|=}[rwxXstl] file ...
  14.  
  15.  
  16. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  17.      The permissions of the named _f_i_l_e_s or _d_i_r_e_c_t_o_r_i_e_s are changed according
  18.      to mode, which may be symbolic or absolute.  Absolute changes to
  19.      permissions are stated using octal numbers:
  20.  
  21.      cccchhhhmmmmoooodddd _n_n_n _f_i_l_e(_s)
  22.  
  23.      where _n is a number from 0 to 7.  Symbolic changes are stated using
  24.      mnemonic characters:
  25.  
  26.      cccchhhhmmmmoooodddd _a _o_p_e_r_a_t_o_r _b _f_i_l_e(_s)
  27.  
  28.      where _a is one or more characters corresponding to uuuusssseeeerrrr, ggggrrrroooouuuupppp, or ooootttthhhheeeerrrr;
  29.      where _o_p_e_r_a_t_o_r is ++++, ----, and ====, signifying assignment of permissions; and
  30.      where _b is one or more characters corresponding to type of permission.
  31.  
  32.      An absolute mode is given as an octal number constructed from the OR of
  33.      the following modes:
  34.  
  35.           04000     set user ID on execution
  36.           020#0     set group ID on execution if # is 7777, 5555, 3333, or 1111
  37.                     enable mandatory locking if # is 6666, 4444, 2222, or 0000
  38.                     This bit is ignored except on regular files; it can be set
  39.                     or cleared only by using the symbolic mode.
  40.           01000     sticky bit (see discussion below)
  41.           0400      read by owner
  42.           0200      write by owner
  43.           0100      execute (search in directory) by owner
  44.           0070      read, write, execute (search) by group
  45.           0007      read, write, execute (search) by others
  46.  
  47.      Symbolic changes are stated using letters that correspond both to access
  48.      classes and to the individual permissions themselves.  Permissions to a
  49.      file may vary depending on your user identification number (UID) or group
  50.      identification number (GID).  Permissions are described in three
  51.      sequences each having three characters:
  52.  
  53.           User Group     Other
  54.  
  55.           rwx  rwx  rwx
  56.  
  57.      This example (meaning that uuuuser, ggggroup, and oooothers all have rrrreading,
  58.      wwwwriting, and exxxxecution permission to a given file) demonstrates two
  59.      categories for granting permissions:  the access class and the
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. cccchhhhmmmmoooodddd((((1111))))                                                              cccchhhhmmmmoooodddd((((1111))))
  71.  
  72.  
  73.  
  74.      permissions themselves.
  75.  
  76.      Thus, to change the mode of a file's (or directory's) permissions using
  77.      _c_h_m_o_d's symbolic method, use the following syntax for mode:
  78.  
  79.      [ _w_h_o ] _o_p_e_r_a_t_o_r [ _p_e_r_m_i_s_s_i_o_n(_s) ], ...
  80.  
  81.      A command line using the symbolic method would appear as follows:
  82.  
  83.      cccchhhhmmmmoooodddd gggg++++rrrrwwww _f_i_l_e(_s)
  84.  
  85.      This command would make _f_i_l_e readable and writable by the group.
  86.  
  87.      The _w_h_o part can be stated as one or more of the following letters:
  88.  
  89.           uuuu         uuuuser's permissions
  90.           gggg         ggggroup's permissions
  91.           oooo         oooothers permissions
  92.  
  93.      The letter aaaa (aaaall) is equivalent to uuuuggggoooo.
  94.  
  95.      If _w_h_o is omitted, the operation applies to all permissions except those
  96.      set in the user's umask.
  97.  
  98.      _O_p_e_r_a_t_o_r can be ++++ to add _p_e_r_m_i_s_s_i_o_n to the file's mode, ---- to take away
  99.      _p_e_r_m_i_s_s_i_o_n, or ==== to assign _p_e_r_m_i_s_s_i_o_n absolutely.  (Unlike other symbolic
  100.      operations, ==== has an absolute effect in that it resets all other bits.)
  101.      Omitting _p_e_r_m_i_s_s_i_o_n is only useful with ==== to take away all permissions.
  102.  
  103.      _P_e_r_m_i_s_s_i_o_n is any compatible combination of the following letters:
  104.           rrrr         rrrreading permission
  105.           wwww         wwwwriting permission
  106.           xxxx         exxxxecution permission
  107.           XXXX         execution permission (see below)
  108.           ssss         user or group sssset-ID is turned on
  109.           tttt         sticky bit is turned on
  110.           llll         mandatory llllocking will occur during access
  111.  
  112.      When XXXX appears in _p_e_r_m_i_s_s_i_o_n it is identical to xxxx if the target file is a
  113.      directory, or if the file is of any other type but already has at least
  114.      one execution bit (user, group, or other) set. In all other cases, XXXX is
  115.      silently ignored.
  116.  
  117.      Multiple symbolic modes separated by commas may be given, though no
  118.      spaces may intervene between these modes.  Operations are performed in
  119.      the order given.  Multiple symbolic letters following a single operator
  120.      cause the corresponding operations to be performed simultaneously.  The
  121.      letter ssss is only meaningful with uuuu or gggg, and tttt only works with uuuu.
  122.  
  123.      Mandatory file and record locking (llll) refers to a file's ability to have
  124.      its reading or writing permissions locked while a program is accessing
  125.      that file.  It is not possible to permit group execution and enable a
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. cccchhhhmmmmoooodddd((((1111))))                                                              cccchhhhmmmmoooodddd((((1111))))
  137.  
  138.  
  139.  
  140.      file to be locked on execution at the same time.  In addition, it is not
  141.      possible to turn on the set-group-ID and enable a file to be locked on
  142.      execution at the same time.  The following examples,
  143.  
  144.           cccchhhhmmmmoooodddd gggg++++xxxx,,,,++++llll _f_i_l_e(_s)
  145.  
  146.           cccchhhhmmmmoooodddd gggg++++ssss,,,,++++llll _f_i_l_e(_s)
  147.  
  148.      are, therefore, illegal usages and will elicit error messages.
  149.  
  150.      Only the owner of a file or directory (or the superuser) may change a
  151.      file's mode.  In order to turn on a file's set-group-ID, your own group
  152.      ID must correspond to the file's, and group execution must be set.
  153.  
  154.      If a directory is writable and the sticky bit, (tttt), is set on the
  155.      directory, a process may remove or rename files within that directory
  156.      only if one or more of the following is true (see _uuuu_nnnn_llll_iiii_nnnn_kkkk(2) and
  157.      _rrrr_eeee_nnnn_aaaa_mmmm_eeee(2)):
  158.  
  159.           the effective user ID of the process is the same as that of the
  160.           owner ID of the file
  161.  
  162.           the effective user ID of the process is the same as that of the
  163.           owner ID of the directory
  164.  
  165.           the process is a superuser.
  166.  
  167.      Note that the group id of the process and file are not taken into account
  168.      by the rules above.  A process will only be able to remove a file in a
  169.      sticky directory based upon its effective user ID, not its group ID.
  170.  
  171.      In releases of IRIX before 6.2, a process could also remove or rename
  172.      files within a directory with the sticky bit set if the process had write
  173.      permission for the file.  This has been changed in accordance with the
  174.      X/Open XPG4.2 standard, but the old behavior can be enabled via the
  175.      xpg4_sticky_dir kernel tunable variable.
  176.  
  177.      If the sticky bit, (tttt), is set on a file that is a dynamic loader for an
  178.      _E_L_F executable, then when the executable is _e_x_e_ced the old process's read
  179.      only address spaces will be made available to the dynamic loader in the
  180.      new process.  This can improve program start up time considerably.
  181.  
  182.      The setting of the sticky bit on any other file has no effect.
  183.  
  184.      If the set-group-ID flag is set on a directory, then files created in
  185.      that directory will have their group ID set to the group ID of the
  186.      directory, otherwise the group ID of the file is set to the effective
  187.      group ID of the creating process (see _c_h_m_o_d(2)].  The set-group-ID flag
  188.      can only be set on a directory by using the symbolic mode: that is,
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. cccchhhhmmmmoooodddd((((1111))))                                                              cccchhhhmmmmoooodddd((((1111))))
  203.  
  204.  
  205.  
  206.           chmod g+s _d_i_r_e_c_t_o_r_y
  207.  
  208.      _m_o_u_n_t(1) provides an alternate way to set this behavior for an entire
  209.      filesystem (see _m_o_u_n_t(1) and _f_s_t_a_b(4)].
  210.  
  211.      The ----RRRR option recursively descends through directory arguments, setting
  212.      the mode for each file as described above.  If a symbolic link is
  213.      encountered whose target is a directory, the permission of the directory
  214.      is changed.  That directory's contents are _n_o_t recursively traversed.
  215.  
  216. EEEEXXXXAAAAMMMMPPPPLLLLEEEESSSS
  217.           chmod a-x _f_i_l_e
  218.  
  219.           chmod 444 _f_i_l_e
  220.  
  221.      The first examples deny execution permission to all.  The absolute
  222.      (octal) example permits only reading permissions.
  223.  
  224.           chmod go+rw _f_i_l_e
  225.  
  226.           chmod 066 _f_i_l_e
  227.  
  228.      These examples make a file readable and writable by the group and others.
  229.  
  230.           chmod +l _f_i_l_e
  231.  
  232.      This causes a file to be locked during access.
  233.  
  234.           chmod =rwx,g+s _f_i_l_e
  235.  
  236.           chmod 2777 _f_i_l_e
  237.  
  238.      These last two examples enable all to read, write, and execute the file;
  239.      and they turn on the set group-ID.
  240.  
  241. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  242.      ls(1), mount(1), umask(1), chmod(2), unlink(2).
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.                                                                         PPPPaaaaggggeeee 4444
  262.  
  263.  
  264.  
  265.